package com.example.administrator.android01app;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;

public class Ch4Activity5 extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{
    private ArrayList arrayList;//列表（集合），用于保存之前选中的内容

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_ch4_5);

        arrayList=new ArrayList();
        //先得到界面的容器
        LinearLayout linearLayout=(LinearLayout) findViewById(R.id.ch4_5_ll);
        //遍历容器的所有子元素
        int count=linearLayout.getChildCount();//得到子元素的总数
        for(int i=0;i<count;i++){
            View view=linearLayout.getChildAt(i);//每次取出一个界面元素

            //判断是否是复选框，
            if(view instanceof CheckBox){
                CheckBox checkBox=(CheckBox)view;
                //对复选框注册监听器
                checkBox.setOnCheckedChangeListener(this);
            }
        }
    }


    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
        //参数b代表是否为选中的状态
        if(b){
            //已选中
            arrayList.add(compoundButton);//添加至集合
        }else {
            //未选中
            arrayList.remove(compoundButton);//从集合中移除，保证arrayList中始终是已选中的选项
        }

        //遍历arrayList，将每一项的文本拼接为字符串，输出
        String content="";
        for (int i=0;i<arrayList.size();i++){
            CheckBox checkBox=(CheckBox)arrayList.get(i);
            content+=checkBox.getText()+",";
        }
        //将字符串显示到界面上。
        TextView textView=(TextView)findViewById(R.id.ch4_5_tv);
        textView.setText(content);
    }
}
